In a cloud computing model, users are able to access application services from any location on demand and without regard to where the services are actually hosted. This provisioning of computing services is typically supported by disparately located data centers containing ensembles of networked virtual machines. Cloud computing delivers infrastructure, platform and software as services, which may be made available as subscription based services wherein payment is dependent upon actual usage.
A virtual machine or “VM” is commonly known in the art. A virtual machine may be generally described as software that is capable of executing programs as if it were a physical machine, i.e., it's a computer within a computer. For example, in a system virtual machine, the virtual machine consists entirely of software; however, an operating system (or any application or process) running on the system VM has the perception of a CPU, memory, storage, as well as any other components that would exist in a physical computer. Software that is executed on a virtual machine is limited to the resources and abstract hardware that is provided by the virtual machine.